package logger

import (
	"go.uber.org/zap"
)

// Logger 日志系统接口
type Logger interface {
	Debug(args ...interface{})
	Info(args ...interface{})
	Warn(args ...interface{})
	Error(args ...interface{})
	Fatal(args ...interface{})
	Debugf(format string, args ...interface{})
	Infof(format string, args ...interface{})
	Warnf(format string, args ...interface{})
	Errorf(format string, args ...interface{})
	Fatalf(format string, args ...interface{})
}

// ZapLogger zap日志实现
type ZapLogger struct {
	logger *zap.Logger
}

// New 创建日志实例
func New() *ZapLogger {
	return &ZapLogger{}
}

// TODO: 完善日志系统初始化方法
// TODO: 实现日志级别、格式和输出位置配置
// TODO: 实现日志轮转机制
// TODO: 实现请求日志记录功能
// TODO: 实现日志钩子机制，支持自定义处理器
